「ET 主導與 ST 輔助」 是一種將 探索式測試 (Exploratory Testing, ET) 的靈活性與 腳本測試 (Scripted Testing, ST) 的嚴謹性相結合的實踐方式。
在整個測試過程中,測試人員主要按照探索式測試的思路與方法進行。測試人員擁有更多的自由空間去深入探索被測產品,不受限於死板的步驟。執行時不需要編寫詳細、繁瑣的測試案例,減少了文檔維護的壓力。
雖然強調探索,但為了保證測試設計的完整性,會引入腳本測試的思想作為支撐。測試人員會藉助一份「簡約的腳本用例」(或稱為「測試思路的集合」),來輔助測試過程的組織與發展。這份腳本清單能確保測試過程中不遺漏關鍵的測試點,彌補了純粹隨機探索可能產生的覆蓋率不足問題。
這種方式充分利用了探索式測試自由發揮、快速反應的優點。並結合了腳本測試特點的測試思路列表,讓測試經驗更容易被傳承與紀錄,且不影響自由發揮的風格。
測試人員主要靠直覺和經驗來測試(ET),但手邊會有一份簡短的清單(ST 腳本)提醒自己不要漏掉重點。要玩轉這套做法,團隊必須具備以下幾個條件:
(1) 成員要是「老江湖」:
大家必須非常熟悉探索式測試的理論,且具備深厚的測試設計經驗,這樣才能在沒有詳細指令的情況下,精準抓到問題。
(2) 掌握關鍵路徑:
測試人員要很清楚產品的各項特性,知道不同功能之間是如何連動的,並熟悉相關的測試模型。
(3) 團隊達成「時間挪移」的共識:
大家要同意少花點時間寫瑣碎的測試步驟(用例),把省下來的大量時間,全部投入在動腦筋的探索過程上。
(4) 進入「不被打擾」的沈浸模式:
執行測試時必須全身心投入,這段時間不能被其他雜事干擾,才能確保測試的深度。
(5) 獲得長官的支持:
這種做法需要結合團隊現有流程來量身訂做,因此必須先說服測試主管支持這種新的嘗試。
所以這是由高手帶隊,在主管支持下,放手去測試那些最危險、最容易出錯的地方,同時用一份簡短清單確保該測的都有測到。
「ET 主導與 ST 輔助」的流程如下,讓我們一一來解釋:
(1) 測試前置規劃
在正式進入測試循環之前,團隊需進行整體的任務與功能規劃,確保測試方向的準確性:
測試任務規劃 (Why):明確測試的目標、受測專案,以及涉及的客戶、風險與專案資訊。
整體功能涵蓋規劃 (How):分析專案的功能結構,包括主要功能與非功能性項目(如負載、效能、易用性、安全等)。
整體功能優先順序規劃:根據「價值的影響力」與「錯誤的可能性」兩個維度,將功能劃分至不同的象限,以決定測試的優先次序。
(2) 單一功能測試
A. 涵蓋規劃
在進入實際測試前,必須針對該功能的範疇進行深入分析。將單一功能進一步細分為具體的測試點或子項。
B. 測試項目優先順序規劃
由於資源有限,必須對拆解後的測試項目進行權重分配。通常根據「價值的影響力」與「錯誤的可能性」兩個維度,將測試項目放入象限圖中。優先處理位於高價值、高風險象限的項目,確保最重要的功能得到最充分的檢驗。
C. 整理測試任務
將前面的測試項目拆解出具體的Charter。Charter 需清晰定義測試的目標(Why)、受測項目(What)以及探索的方向。根據任務的複雜度,決定需要多少個測程(Session)來完成,並為每個測程安排特定的任務。
D. 測程執行
這是流程中最核心的實戰階段,測試員在特定時間內進行沈浸式測試。每個Session通常設定在 45 至 120 分鐘 之間,確保高專注度。測試員根據 Charter 與測試思路的清單進行探索,同時根據對產品的新認知,動態地優化與補充原本的測試思路。
E. 測試回顧與討論
測程結束後,透過團隊互動來鞏固成果並修正方向。分享發現的 Bug、新產生的靈感或遇到的操作阻礙。歸納出產品的弱點(Bug Pattern),這有助於後續測試任務的優化。
在實施「ET 主導與 ST 輔助」的探索式測試時,為了確保測試既能保有靈活性,又能達到高品質的風險覆蓋,測試團隊應注意以下幾個核心要點:
(1) 任務導向的資源分配
測試負責人需建立明確的Charter與Session管理機制,避免測試過程流於盲目點擊。透過分析產品架構與需求,將功能劃分為「主要」與「貢獻性」模組,確保資源集中在高風險區域。這需要測試負責人不斷從實踐中總結經驗,以提升任務分配的精準度。
(2) 演進式的測試思路
雖然不撰寫詳細用例,但仍須發展深度的測試思路列表(Test Idea List),作為探索的導航工具。
測試人員需對單個功能與功能交互使用進行需求理解,預先設定預期行為與驗證點。測試思路列表並非靜態文件,而應隨著測試執行的深入與對產品認知的增加,即時補充與調整測試思路。
(3) 時間盒(Time-box)的精準控管
探索式測試給予執行者極大自由,因此必須透過嚴格的時間限制來確保測試方向不偏離主軸。
單次Session建議設定在 45 至 120 分鐘 之間,這能確保測試員維持高專注度。測試員需自我控管,避免過度深入任務以外的細節。若發現某區域仍有未知的風險,應以「增加Session」的方式來延伸覆蓋,而非無限制地延長當下時間。
(4) 具備可說明性的匯報機制
為了讓看似不可控的探索過程變得透明,團隊必須建立高效的資訊同步與總結流程。
互通情報與經驗分享:團隊應定期分享發現的缺陷模式(Bug Pattern),這能避免重複測試並協助開發端定位系統弱點。
善用多媒體輔助:可採用螢幕錄影或攝影方式記錄測試全程,這對於回溯複雜的 Bug 復現路徑及編寫生動的報告極有幫助。
數據化產出:從測程回饋中蒐集數據,向管理層提供關於測試覆蓋率與產品質量的具體分析報告。
這套模式的成功關鍵在於「有組織的靈活性」。透過時間管理、測試思路列表的持續演進與團隊間的集體學習,能讓探索式測試不再只是個人的技術展現,而是轉化為團隊可管理、可量化的品質資產。